package com.dhcc.DRGsHosp.web.controller;

import com.dhcc.DRGsHosp.facade.PayGroupFacade;
import com.dhcc.DRGsHosp.facade.dto.IndexCalDTO;
import org.openkoala.koala.commons.InvokeResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * 
 * @title		:PayGroupController.java
 * @description	:付费病组
 * @author		:chenhanlin
 * @date		:2017年08月15日
 * @version     :1.0
 * @copyright   :DHCC 2013-2014
 */
@Controller("drgsHospWebController20170822chl01")
@RequestMapping("/payGroup")
public class PayGroupController {
	@Autowired
	private PayGroupFacade payGroupFacade;
	
	/**
	 * 获取最小值  最大值  中位数
	 *  findFeeExtremal.  
	 *  @Description：
	 *  @Author ChenHanlin
	 *  @return 
	 *  @Date:2017年8月22日上午9:55:53
	 */
	@ResponseBody
	@RequestMapping("/findFeeExtremal")
	public InvokeResult findFeeExtremal(IndexCalDTO dto){
		return InvokeResult.success(payGroupFacade.findFeeExtremal(dto));
	}
	
	/**
	 * 更新付费病组
	 *  updatePayFee.  
	 *  @Description：
	 *  @Author ChenHanlin
	 *  @param drgCode
	 *  @param action
	 *  @return 
	 *  @Date:2017年8月25日下午3:03:28
	 */
	@ResponseBody
	@RequestMapping("/updatePayFee")
	public InvokeResult updatePayFee(IndexCalDTO dto,String action){
		return InvokeResult.success(payGroupFacade.updatePayFee(dto,action));
	}
	
	/**
	 * 
	 * @methodname    :queryCostStructureBenchmarking
	 * @description   : 查询标杆法费用构成
	 * @param         :
	 * @author        :chenhanlin
	 * @return        :
	 * @date          :2017年08月16日
	 */
	@ResponseBody
	@RequestMapping("/queryCostStructureBenchmarking")
	public InvokeResult queryCostStructureBenchmarking(IndexCalDTO dto,String sliderVal){
		return InvokeResult.success(payGroupFacade.queryCostStructureBenchmarking(dto,sliderVal));
	}
	/**
	 * 查询标差法法费用构成
	 *  queryCostStructureStdDev.  
	 *  @Description：
	 *  @Author ChenHanlin
	 *  @param dto
	 *  @param sliderVal
	 *  @return 
	 *  @Date:2017年8月25日下午3:06:43
	 */
	@ResponseBody
	@RequestMapping("/queryCostStructureStdDev")
	public InvokeResult queryCostStructureStdDev(IndexCalDTO dto,String sliderVal){
		return InvokeResult.success(payGroupFacade.queryCostStructureStdDev(dto,sliderVal));
	}
	/**
	 * 查询超标病例费用构成
	 *  queryOverCaseFee.  
	 *  @Description：
	 *  @Author ChenHanlin
	 *  @param dto
	 *  @param sliderVal
	 *  @return 
	 *  @Date:2017年8月29日上午9:24:10
	 */
	@ResponseBody
	@RequestMapping("/queryOverCaseFee")
	public InvokeResult queryOverCaseFee(IndexCalDTO dto,double sliderVal,String intervel){
		return InvokeResult.success(payGroupFacade.queryOverCaseFee(dto,sliderVal,intervel));
	}
	/**
	 * Description ：各病组病例明细 
	 * date: 2017年8月30日 下午2:46:36  
	 * @author ShaozhiYuan
	 * @version V1.0 DHC
	 */
	@ResponseBody
	@RequestMapping("/queryCostCaseCompare")
	public InvokeResult queryCostCaseCompare(IndexCalDTO dto,String sliderVal){
		return InvokeResult.success(payGroupFacade.queryCostCaseCompare(dto,sliderVal));
	}
	/**
	 * Description ： 出院病例明细表
	 * date: 2017年8月31日 上午10:58:40  
	 * @author ShaozhiYuan
	 * @version V1.0 DHC
	 */
	@ResponseBody
	@RequestMapping("/queryCostOutCaseList")
	public InvokeResult queryCostOutCaseList(IndexCalDTO dto,String sliderVal){
		return InvokeResult.success(payGroupFacade.queryCostOutCaseList(dto,sliderVal));
	}
	/**
	 * 
	 *  getNormalDistributionData.  
	 *  @Description：病例分布特征
	 *  @Author WENYI
	 *  @param dto
	 *  @param normalParam
	 *  @param interval
	 *  @param queryType
	 *  @return 
	 *  @Date:2017年9月4日上午10:35:32
	 */
	@ResponseBody
	@RequestMapping("/getNormalDistributionData")
	public InvokeResult getNormalDistributionData(IndexCalDTO dto, String normalParam,int interval,String queryType){
		return InvokeResult.success(payGroupFacade.getNormalDistributionData(dto,normalParam,interval,queryType));
	}
	
	/**
	 * 
	 *  findPayGroupDetails.  
	 *  @Description：
	 *  @Author ChenHanlin
	 *  @param dto
	 *  @return 
	 *  @Date:2018年2月25日下午3:10:13
	 */
	@ResponseBody
	@RequestMapping("/findPayGroupDetails")
	public InvokeResult findPayGroupDetails(IndexCalDTO dto){
		return InvokeResult.success(payGroupFacade.findPayGroupDetails(dto));
	}

	/**
	 * @Description: 查询分组结果使用的病组
	 * @param
	 * @return
	 * @throws
	 * @author chenhanlin
	 * @date 2018/9/4 15:46
	 */
	@ResponseBody
	@RequestMapping("/findAllDRG")
	public InvokeResult findAllDRGs(IndexCalDTO dto){
		return InvokeResult.success(payGroupFacade.findAllDRG(dto));
	}
}
